﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using distrilan;
using System.IO;

public partial class admin_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //se nella sessione non c'e utente amministratore, redirigo l'utente alla pagina di login
        if (SiteUser.IsLoggedAdmin() == false)
            Server.Transfer("index.aspx");
    }

   



    protected void btnCaricaArticolo_Click(object sender, EventArgs e)
    {
        //ricavo il nome della immagine, lo ricavo cosi perche sara utile in fase di idicizzazione
        string nomeImmagine = FileUpload1.PostedFile.FileName;
        string path = "../" + ConfigurationManager.AppSettings["dir_img_Art_In_Evidenza"].ToString();
        
        nomeImmagine = Utility.nomeNuovaFoto(path, nomeImmagine);

        try
        {
            string toSave = path + "/" + nomeImmagine;
            FileUpload1.PostedFile.SaveAs(Server.MapPath(toSave));
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.Text += "  errore in fase salvataggio immagine su disco, ritentare l'immissione o contattare l'amministratote";
            lblMessage.CssClass = "lblErrore";
            return;
        }

        SqlConnection connection = new SqlConnection(distrilan.Utility.GetDBConnectionString());
        try
        {
            connection.Open();

            string marcaModello = txtMarcaModello.Text;
            marcaModello =  distrilan.Utility.PreparaStringaPerDB(marcaModello, marcaModello.Length);

            string descrizioneBreve = txtDescrizioneBreve.Text;
            descrizioneBreve = distrilan.Utility.PreparaStringaPerDB(descrizioneBreve, descrizioneBreve.Length);

            string query = "INSERT INTO inEvidenza ( marcaModello,  descrizioneBreve, immagine) values ('";
            query += marcaModello + "','";
            query += descrizioneBreve + "','";
            query += nomeImmagine + "')";

            SqlCommand cmd = new SqlCommand(query, connection);
            if (cmd.ExecuteNonQuery() != 1)
            {
                lblMessage.Text = "Errore interno al DB: inserimento articolo fallito";
                lblMessage.CssClass = "lblErrore";
                return;
            }
        }
        catch (Exception ex)
        {
            lblMessage.Text = ex.Message;
            lblMessage.CssClass = "lblErrore";
            return;
        }
        finally
        {
            connection.Close();
        }

        lblMessage.Text = "articolo in evidenza caricato con successo!";
        //txtDescrizione.Text = "";
        txtDescrizioneBreve.Text = "";
        txtMarcaModello.Text = "";
        lblMessage.CssClass = "lblOk";
    }


    /// <summary>
    /// metodo chiamato quando si ha l'inizializzazione della text area per il controllo dei caratteri inseriti
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    public void initTextBox_descrizione_Breve(object sender, EventArgs e)
    {
        txtDescrizioneBreve.Attributes.Add("OnKeyUp", "calcCharLeft(" + txtDescrizioneBreve.UniqueID + ")");
        txtDescrizioneBreve.Attributes.Add("OnChange", "calcCharLeft(" + txtDescrizioneBreve.UniqueID + ")");
    }

    

}
